Electronic communications such as electronic mail are being increasingly used for both business and personal uses. Electronic communications have many advantages over non-electronic communications such as postal mail. These advantages include low cost, rapid delivery, ease of storage, and so on. As a result of these advantages, there is also an important disadvantage of electronic communications, which is that many of the communications are undesired by the recipient. Such undesired electronic communications are referred to as junk mail, spam, and so on. Because of its low cost and speed, many organizations use electronic communications to advertise. For example, a retailer may purchase a list of electronic mail addresses and send an electronic mail message containing an advertisement for its products to each electronic mail address. It is not uncommon for a person to receive many such unwanted and unsolicited electronic mail messages each day. People receiving such junk electronic mail messages typically find them annoying. Junk electronic mail messages may also cause a person's inbox to become full and may make it difficult to locate and identify non-junk electronic mail messages.
Various techniques have been developed to combat junk electronic mail. For example, some electronic mail systems allow a user to create a list of junk electronic mail senders. When an electronic mail message is received from a sender on the list of junk electronic mail senders, the electronic mail system may automatically delete the junk electronic mail message or may automatically store the junk electronic mail message in a special folder. When a junk electronic mail message is received from a sender who is not currently on the junk electronic mail list, the recipient can indicate to add that sender to the list. As another example, some electronic mail systems may allow the recipient to specify a list of non-junk senders. If an electronic mail message is received from a sender who is not on the list of non-junk senders, then the electronic mail system may automatically delete or otherwise specially handle such an electronic mail message.
The effectiveness of such techniques depends in large part on being able to correctly identify the sender of an electronic mail message. Electronic mail systems, however, as originally defined in RFC 822 entitled “Standard for the Format of ARPA Internet Text Messages” and dated Aug. 13, 1982, provided no security guarantees. In particular, any sender could construct a message that looks like it came from any other sender. Thus, a recipient could not be sure of the true identity of the sender.
To overcome this identity problem, various key management infrastructure systems have been developed. These key management infrastructure systems either use an asymmetric (e.g., public key and private key pair) or a symmetric encryption technique. For example, with a public key infrastructure, a sender generates a public key and private key pair and then registers their public key with a key server. The sender digitally signs their electronic mail messages with the private key. When a recipient receives an electronic mail message purportedly from the sender, the recipient can retrieve the public key of the sender from the key server and verify the digital signature.
Current public key infrastructure systems are, however, both expensive and inadequate. The expense results from the overhead of providing and maintaining the key servers needed to support the infrastructure. The public key infrastructure systems are inadequate because they do not have effective mechanisms for uniquely identifying a sender. In particular, many different senders may have the same name (e.g., “John Smith”) and thus it can be difficult for a recipient who wants the public key of the sender to effectively identify that sender. Moreover, the public key infrastructure does not have an effective way of alerting recipients when new public keys have been assigned to senders. Thus, a recipient may need to access the public key server whenever the recipient receives a communication.